1. Field of Invention
The invention relates generally to computer systems. More particularly, methods and apparatus for providing a highly interactive environment in a distributed computer network are disclosed.
2. Description of Relevant Art
Generally speaking, a browser is an application program that provides a way to look at and interact with information on distributed computer networks such as the Internet. In particular, a Web browser is a client program that uses the Hypertext Transfer Protocol (HTTP) to make requests of Web servers throughout the Internet on behalf of the browser user. One of the most recent uses of browsers is in the realm of electronic (e-) commerce in which any number of client side users (i.e. xe2x80x9ce-customersxe2x80x9d) interact in a real time basis with any number of server side processors (i.e., xe2x80x9ce-sellersxe2x80x9d) over the Internet. In order to transact business in a Web-based environment, browsers typically execute Web commerce applications specifically designed to facilitate e-commerce transactions such as requesting quotes, selecting options and assembling components into complex bundles, and placing orders.
In this regard, successful Web commerce applications must be capable of automating a customer through the entire buying cycle, from initial inspection to final purchase and shipping, in addition to providing the customer all relevant information required to make a buying decision and providing customer guidance. As the complexity of the buying cycle and/or the purchases themselves increasesxe2x80x94for instance, from buying office supplies to buying mainframe computersxe2x80x94a general purpose Web commerce application must scale its ability to manage this complexity. In order to accomplish this, a general purpose Web commerce application must be fast loading and highly responsive in xe2x80x9cclick over clickxe2x80x9d type scenarios in order to support highly interactive customer sessions such that a buyer can input any and all relevant information quickly and with apparently little or no delay in application response.
Conventional attempts to construct general purpose e-commerce application utilize the common gateway interface (CGI) to process user input and present a corresponding response. As an example, as shown in FIG. 1, a distributed computer system 100 includes a client computer 102 that is coupled to a server (host) computer 104. The computer 102 includes a browser application 106 that, in turn, includes a requested Web page 108. In order to enter a particular order, for example, a user will first select a particular item to purchase as represented by one of the clickable product icons 114-1 through 114-3 included in the WEB page 108. By clickable, it is meant that the user will typically utilize an input device such as a mouse, stylus, or any other appropriate pointing or non-pointing device to generate a user input event by xe2x80x9cclickingxe2x80x9d on the icon.
Once selected, the user will proceed to click on the input icon appropriate to the item desired, or in some cases, will enter text in a text field 116 provided. In either case, once all the appropriate input information has been appropriately entered, the user must then click a xe2x80x9cSUBMITxe2x80x9d button 118 in order to have the data provided by the user be sent to the server computer by way of a common gateway interface (CGI) 119. Once received, the script updates a database 120 accordingly. Once the database 120 has been updated, the server computer generates an appropriate HTTP response 121 that has the effect of generating a new WEB page 122 by what is referred to as refreshing. By refreshing, the server computer 104 must load the new WEB page in order to confirm the user""s request command to update the database 120. In some cases, the user must repeat this process several times in order to complete a particular transaction that can be wearisome and time consuming, to say the least.
In addition, by requiring several xe2x80x9cover the wirexe2x80x9d transmissions between the client computer 102 and the server computer 104, there is a not an insubstantial risk that the transaction will be slowed due to network traffic, a slow node, or a system failure. In addition, the time consuming nature of the current state of the prior art may result in a user deciding to not complete a particular transaction out of sheer frustration at the lack of a fast response time.
Therefore, what are desired are a method and an apparatus for providing a highly interactive transaction environment in a distributed network
In one embodiment of the invention, in a multithreaded computing environment, a platform independent method for providing a highly interactive transaction session between a browser residing on a client computer and a data base coupled to a server computer is disclosed. A requested web page is displayed at the client computer that includes a plurality of input selection icons and an update icon. Selection data corresponding to a user selected input is sent to the server computer by the browser. A server-side data base is updated based upon the selection data and only the update icon is updated to indicate that the data base has been successfully updated.
In a preferred embodiment, the server computer is coupled to a distributed network of computers such as the Internet.
Another embodiment of the invention describes a platform independent apparatus in a multithreaded computing environment that provides a highly interactive transaction session between a browser residing on a client computer and a data base coupled to a server computer. The apparatus includes a web page. The web page includes, in turn, an input selection icon capable of providing selection data based upon a user supplied input event and an update icon configured to notify the user that the database has been successfully updated. The web page also includes an event handler coupled to the input selection icon arranged to receive the selection data and an interaction applet coupled to the update icon arranged to provide an database update signal to the update icon. In a preferred embodiment, when the database has been successfully updated, the update icon only is updated in such a way that a portion of the web page displayed prior to the database update remains substantially unchanged.